The most common mass storage system in computer systems today is a hard disk drive (HDD) that uses one or more rotating disks and records data magnetically. Although HDDs are capable of storing a large amount of information, they have disadvantages compared to solid-state memories. Specifically, HDDs have a slower read/write speed, higher power consumption, larger system size, and lower tolerance to mechanical shock.
Solid-state memories are data storage devices that use memory chips to store data. Non-volatile solid-state memories, such as flash memory for example, are becoming increasingly popular as their memory density increases. It is envisioned that eventually solid-state memories will replace HDDs in mobile computers, such as notebook computers, because of their advantages, as discussed above.
However, there are known problems associated with the use of flash memory. One known problem is flash memory cells have a limited number of rewrite cycles. For example, typical maximum number of rewrite cycles range between 100,000 and 1,000,000 cycles. Further, in order to meet memory density and low cost requirements, multilevel cell (MLC) technology will likely be employed. However, MLC typically reduces the maximum number of rewrite cycles per flash memory cell by two orders of magnitude, for example from 1,000,000 cycles to 10,000 cycles.
Another issue with flash memory is a size mismatch between read/program and erase operations. Specifically, in flash memory, read and program operations are executed on a page basis, while erase operations are executed on a block basis. Therefore the minimum erasable size is typically 16 to 64 times larger than the read/program size. Since memory cells in flash memory devices must be erased before being programmed with new data, an entire block has to be erased in order to write a new page. This further exacerbates the problem of having a limited number of rewrite cycles.
Accordingly, a number of solutions have been proposed to address these issues. Many of these attempted solutions are described in U.S. Pat. No. 6,763,424 issued to Conley. However, while these solutions provide certain improvements, they still require a significant number of pages to be rewritten.
Accordingly it can be seen that there is a need for a memory system that further reduces the number of read/write operations performed by the flash memory, thereby extending a life expectancy of the memory system.